def shi():
    print('你好')


shi()
222222222
def add():
    a = 3
    b = 5
    s = a + b
    print(s)
    return a


c = add()
print(c)

333333
def add(a, b):
    print(a + b)


add(1, 3)

444444
a = 1
b = 3
add(a, b)

55555
add(2 * 3, 4 * 5)

c = 3
add(8, c * 3)

6666
def score(a, b, c):
    print('张三成绩为:', a)
    print('李四成绩为:', b)
    print('王五成绩为:', c)


score(85, 92, 60)

# 7777
def reg(name, age, sex="女"):
    print('姓名：{} 年龄{} 性别{}'.format(name, age, sex))


reg('张三', 20)
reg('李四', 21, '男')

# 11111
def fav(*fru):
    print('我喜欢的水果')
    for i in fru:
        print(i)


fav('苹果')
fav('苹果', '桃子', '西瓜')
fav('菠萝', '香蕉', '橘子', '哈密瓜', '草莓', '葡萄')
# 2222（参数的值大于等于2，如果声明函数的时候有其他形参，通常会把可变长参数）
def show(a, b, *c):
    print(a)
    print(b)
    print(c)


show(1, 2, 3, 4, 5,)
# 3333333333
def rect():
    a = int(input('请输入矩形的长'))
    b = int(input('请输入矩形的宽'))
    s = a * b
    c = 2*(a + b)
    print('矩形的周长为', c)
    print('矩形的面积为', s)


rect()
# 44444444444
def add(a, b):
    c = a + b
    return c, a, b, a*b, a-b


d = add(1, 2)
print(d)
# 5555555555555
def fun():
    a = 20
    return a


a = 10
print(a)
print(fun())


def pro(*a):
    for i in a:
        if i % 2 == 0 :
            print('是偶数的', i)
        if i > 10:
            print('大于10的', i)


pro(1, 2, 10, 5, 80, 60)

# 递归函数（计算3的阶乘）
def f(n):
    if n <= 1:
        return 1
    else:
        return n*f(n-1)  # 100*f(99)   100*99*98*97.....*2*1


num = int(input('请输入一个正整数：'))  # 输入3
s = f(num)
print(num, '的阶乘是：', s)  # 3*2*1

# 递归函数计算1~100的相加之和
def sum(n):
    if n == 1:
        return 1
    else:
        return n+sum(n-1)


print('1~100相加的和为', sum(100))


# 计算斐波那契数列 F(0)=0,F(1)=1,F(n)=F(n-1)+(n-2)(n>=2)的第n项
def fibo(n):
    if n <= 2:
        return 1
    else:
        return fibo(n - 1) + fibo(n - 2)


print('斐波那契数列的第{}项为{}'.format(10, fibo(10)))


# 匿名函数
# <函数>=lambda <参数列表>：<表达式>
# 使用匿名函数实现a+b+c
sum = lambda a, b, c: a+b+c
print(sum(1, 2,3))

# 编写lambda函数，参数为正方形的边长m.输出正方形的面积
fun = lambda m: m**2
print(fun(5))
